Method and apparatus for providing extended call setup and control features using a short message service

ABSTRACT

A system for enabling setup and control of conference calls using short message service (SMS) messages (SMs). The SMS messages may be used to set up, or control a scheduled or real-time conference call. The SMS messages can also be used to exercise real-time control over a conference call. Invitations can be sent in real time to add participants to a call in progress, or to transfer the call from any participant&#39;s telephone to another telephone connected to the PSTN.

TECHNICAL FIELD

The present invention relates generally to extended call setup andcontrol, and particularly to a system and method for effecting theestablishment of enhanced call connections using a short message service(SMS) message.

BACKGROUND OF THE INVENTION

The use of mobile communications devices and cellular telephones isgrowing rapidly as consumers are discovering the advantages of beingaccessible by telephone while commuting, or otherwise away from theiroffice or home.

While increasing the mobility of persons may be perceived as beinggenerally beneficial, certain disadvantages also accrue. For example,the increased mobility has meant that it is less and less likely that agroup of persons will be co-located at a central location and able toparticipate in meetings.

Thus, there is an increased need to provide conference calling features,in order to permit meetings between various participants dispersed atsundry locations.

Traditionally, such conference calls have been organized so thatparticipants gather at pre-defined wireline locations at a single dateand time, in order to participate in a conference call set up betweensuch locations. While workable, such wireline conference calls aresub-optimal in that they limit the mobility of participants, who mustagree and arrange to attend at one of the pre-defined wireline locationsin order to participate in the conference call. This requirement tendsto negate the freedom from being tethered to a wireline telephoneprovided to the participants through the use of cellular telephones.

Those having ordinary skill in this art will recognize that theforegoing wireline conference calls can incorporate participants bycellular telephone. Thus, the need for access to conference callingfeatures by mobile users has grown. However, a significant difficultyarises in that cellular telephones generally are not equipped, or atleast not conveniently equipped, with features for performing callbridging or 3-way calling, which is required in order to initiate adial-up conference call. The absence of means for enabling mobile usersto initiate and effect control operations on conference calls, limitsthe use of this call enhancement.

A further disadvantage of the wireline conference call is its relativeinflexibility. Meetings, whether face-to-face or by conference call, aregenerally dynamic. It frequently arises that unexpected issues areraised and discussed, and other persons not participating in the meetingmay have to be consulted.

In the context of a face-to-face meeting, such developments may berelatively easily accommodated. However, once the connections for awireline telephone conference call have been established, it isdifficult, if not impossible, to locate and add new participants to thecall, especially if there is no alternate telephone device through whichthe proposed participant may be contacted so that participation in thepending conference call may be set up. As a result, when a meetingdynamic changes and other persons are required to be consulted theconference call must often be terminated and rescheduled at a later timeor date in order to permit the participation of these other persons.

Accordingly, there remains a need for a method and system for permittingmobile users to request set-up and to control functions of extendedcalls such as conference calls.

SUMMARY OF THE INVENTION

It is therefore an object of the invention to provide a method andsystem for permitting mobile users to request set-up and to controlfunctions of extended calls, such as conference calls.

It is another object the invention to provide such a method and systemusing features, such as short message service (SMS), that are typicallyand conveniently provided to cellular telephone users, without requiringmodification of the cellular telephone.

In accordance with an embodiment of the invention, users can set up,initiate and participate in conference calls using a cellular telephoneand SMS messages. The SMS messaging feature also permits a user tocontrol the configuration of the conference call while the call is inprogress, without the need for additional equipment, such as a secondtelephone device.

A conference call is set up by an initiating party using the SMSmessaging feature. The initiating party transmits a message or series ofmessages that identify each participant by telephone number andspecifies a date and time for the conference call. The date and time maybe in the future, or may take effect immediately. Upon the provision ofthis information by the initiating party, the system forwards aninvitation to each of the participants to permit them to accept theconference call using the SMS messaging feature. The invitationidentifies the date and time of the conference call and specifies aconference bridge number (CBN) to be transmitted in order to acceptparticipation in the conference call. The CBN uniquely identifies theconference call to which the participant is to be joined.

At the designated date and time, the system attempts to connect eachparticipant who accepted the conference call invitation. If the systemis able to establish a connection with the participant, it adds theparticipant to the conference call using a conference bridge in a mannerwell known in the art.

The SMS messaging feature need not be available on the cellulartelephone device itself. Rather, text messaging available on a separatedevice such as a personal digital assistant may also be used. Indeed, awireline telephone may also be used for the call after call setup isaccomplished using an SSM or text messaging equipped device.

Participants who may wish to participate in a conference call but do nothave SMS capability may interact with the system using other suitableelectronic text messaging means, such as e-mail or by voice using adial-up IVR unit. Alternatively, they may accept the call at the time,prompted by an IVR unit.

When it is desired to add a new participant to the conference call, oneof the existing participants may transmit an SMS message to the desiredparticipant containing the designated CBN and other informationidentifying the telephone call. Alternatively, an existing participantmay transmit an SMS message to request that the system invite theintended participant, whereupon the system transmits instructions topermit the desired participant to join the conference call. In eithercase, the intended participant may join the conference call by merelytransmitting the requested information by SMS message.

The method and system in accordance with the embodiments of the presentinvention therefore provide a simple, convenient and powerful mechanismfor setting up, controlling and participating in extended calls such asconference calls between cellular telephones.

BRIEF DESCRIPTION OF THE DRAWINGS

Further features and advantages of the present invention will becomeapparent from the following, detailed description, taken in combinationwith the appended drawings, in which:

FIG. 1 is a schematic diagram illustrating principal components of asystem shown in an exemplary deployment for providing SMSmessage-initiated call setup and control operations in accordance withan embodiment of the invention;

FIG. 2 is a flow chart illustrating principal steps performed by aconference scheduler database application in accordance with anembodiment of the invention when a conference request;

FIGS. 3 and 3 b are flow charts illustrating principal steps performedby a call controller in accordance with an embodiment of the inventionwhen a call request generated by the conference scheduler databaseapplication is retrieved from the call controller database;

FIG. 4 is a call flow diagram illustrating principal steps in asuccessful attempt to arrange a conference call on a scheduled basis;

FIG. 5 is a call flow diagram illustrating principal steps in asuccessful attempt to establish a previously scheduled conference call;

FIG. 6 is a call flow diagram illustrating principal steps in asuccessful attempt to arrange a conference call involving a participantusing a wireline telephone and without SMS capability;

FIG. 7 is a call flow diagram illustrating principal steps in twosuccessful attempts by a participant to join an ongoing conference callat the invitation of an existing participant; and

FIG. 8 is a call flow diagram illustrating principal steps in asuccessful attempt by a participant to forward an ongoing conferencecall from one telephone number to another.

It will be noted that throughout the appended drawings, like featuresare identified by like reference numerals.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

The present invention provides a system and method for establishingconference call connections using SMS messages sent from any deviceadapted to communicate using a text messaging protocol such as SMS. Thecall may be set up to connect a group of telephone devices accessiblethrough the public switched telephone (PSTN) wireline or the wirelesstelephone networks. Preferably, the participants in the conference callhave the ability to communicate using the short message service (SMS)protocol, whether directly through the participant's associated wirelesstelephone or through an alternative text messaging device, such as apersonal digital assistant (PDA). The method also enables users to jointhe call using an SMS message, if they possess requisite information. Aparty to a call (extended or otherwise) may also transfer or bridge thecall using SMS messaging.

Requesting or scheduling initiation of the extended call mayalternatively be made through an Internet portal or web page of theservice provider, to expedite entry of the request. SMS messages maytherefore alternatively be used only to enable calling parties to join,and possibly to invite other SMS users to join the extended call.

System Overview

FIG. 1 illustrates an exemplary deployment of a system for providingtelephone conference call services to customers who initiate conferencecall requests using the SMS protocol. A Public Switched TelephoneNetwork (PSTN) 24, as is well known in this art, comprises a network ofswitched trunks for carrying voice and data traffic between terminalunits, such as conventional telephone terminals 2. Usage of the trunksin the PSTN 24 are controlled by a Common Channel Signaling (CCS)network 22, such as Signaling System Number 7 (SS7). The CCS network 22includes a plurality of switches interconnected by signaling and trunklines. The architecture of the CCS network 22 is also well known in thisart.

As discussed above, use and deployment of cellular telephones 16 israpidly increasing. As is well known in this art, the SS7 system usesthe Mobile Application Part (MAP) protocol which defines the methods andmechanisms of communication in wireless networks, using the SS7Transactional Capabilities Application Part (TCAP). The MAP protocolmakes use of other CCS nodes such as Mobile Switching Centers (MSC) 20,Home Location Registers (HLR) 19 and Visitor Location Registers (VLR)21.

The HLR 19 is a database used for permanent storage and management ofsubscriptions and service profiles for subscribers at the point ofsubscription. The MSC 20 is a switch that controls voice circuits. Itcommunicates wirelessly with cellular telephones within its associatedcellular region through one or more associated base station subsystem(s)(BSS) 18. The MSC 20 also makes circuit connections into the PSTN 24 toestablish an outgoing call from the cellular telephone 16 or accepts aconnection from the PSTN 24 to establish an incoming call to a cellularsubscriber. The BSS 18 includes a base station controller (BSC) thatcontrols one or more base transceiver systems (BTS). Each BTS defines acell of a cellular network and communicates wirelessly with the cellulartelephone 16. The BSC manages resource assignment when a subscribermoves from one sector of one BTS to another.

The VLR 21 stores information for cellular subscribers that are roamingwithin cells managed by the associated MSC 20.

The MAP protocol also supports SMS wireless service. SMS enables thetransmission of alphanumeric messages between mobile subscribers andexternal systems, such as electronic mail, paging and voice-mailsystems. The maximum length of an SMS message is typically 160characters.

A hallmark of the SMS service is that message delivery is guaranteed bythe network. If the destination unit is unavailable, the message isstored until the destination unit becomes available. Further, so long asthe destination unit is active, it may generally receive or send an SMSmessage, independent of whether a voice or data call is in progress.Where an SMS message is to be transmitted between mobile users, themessage is transmitted wirelessly from the transmitting unit, say 16 ato the BSS 18 a associated with the MSC 20 a governing the transmittingunit's present location. The SMS message is thereafter routed along theCCS network 22 elements to the recipient's governing MSC 20 b, forexample, through the associated BSS 18 b and wirelessly out to therecipient unit 16 b.

Certain wireless devices other than cellular telephones 16 may have SMSfunctionality. Such devices may include Personal Digital Assistants(PDA) 14 having wireless capability, such as Research in Motion'sBlackberry® and 3Com Corporation's Palm VII® devices, which cancommunicate using the SMS feature of the BSS 18 and the associated MSC20, but do not make use of the voice/data cellular network. WAPtelephones 12 may also support SMS messaging.

One of the benefits of SMS service is its ability to exchange messageswith non-mobile units, such as voice-mail systems, web-based messagingsystems enabled by the SMS web gateway 23 from the Internet 26, e-mailand other external Short Messaging Entities (SME). This interface isimplemented using SMS Centers (SMSC) 25 interconnecting MSCs 20 and anSME. The SMSC 25 relays, stores and forwards short messages from an SMEto a mobile device.

When an SMS message is to be transmitted from an external SME, such oneconnected to the web SMS gateway 23, the SMSC 25 and the SME take theplace of the MSC 20. Thus, an SMS message received from the Internet 26by the SMS web gateway 23 will be communicated to the SMSC 25 andtransmitted through the CCS network 22, to the MSC 20 serving therecipient, through the associated BSS 18 and wirelessly out to therecipient unit 16.

The system for providing telephone conference call services inaccordance with the present invention includes a conference schedulergateway (CSG) 30, a centrally located conference call server 28 and atleast one service center 4.

The conference scheduler gateway 30 receives SMS messages addressed toit and converts the message content into a text message fortransmission, together with a header indicating who sent the message,over a secure connection, such as TCP/IP, through the Internet 26 to theserver 28.

Alternatively, a conference gateway 32 may be connected directly to acall controller 8 by an Ethernet link 31, for example. The conferencegateway receives SMS messages directly over a wireless link from awireless base station, base station 18 a, for example. This hasadvantages in that, since the SMS network guarantees SMS messagedelivery, the delay and potential loss of data packets that can occur inthe Internet is avoided. The conference gateway 32 preferably includesall of the functionality of the server 28, including the respectivedatabases, which may be accessed through the Internet by customers whowish to add or change records in their personal profiles, etc.Consequently, the conference gateway is adapted to wirelessly receiveSMS messages and to process the messages in the same way that the server28 does. Alternatively, the conference gateway may pass the SMS messagesdirectly to the call controller 8, without conversion, in with case thecall controller 8 includes the conference scheduler database application29, and the databases 27 a-27 d.

The server 28 is accessed by customers through the Internet 26,typically using SMS messages sent by a customer using a cellulartelephone 16 via the conference scheduler gateway 30. Optionally, a webserver 33 may provide a worldwide web gateway that permits customers toschedule conference calls using a web interface.

The server 28 includes or has access to a conference scheduler databaseapplication 29 and a plurality of databases 27 a-27 d. Internal orexternal connections permit the conference scheduler databaseapplication 29 to access and update the various databases 27. Theconference scheduler database application 29 receives the content of SMSmessages and processes them in order to schedule, initiate andreconfigure requested conference call services.

The databases include a profile database 27 a, a billing database 27 band a conference database 27 c. The profile database 27 a maintainscustomer profiles, including pre-defined conference call configurations,user preferences and permissions. The billing database 27 b maintainsfinancial records including pre-paid services. The conference database27 c maintains a list of scheduled conference calls. A call queue 27 daccessed by call controllers (CC) 8 using a secure connection to pullfor conference calls that are to be initiated, or reconfigured.

Each service center 4 includes for example, a point-of-presence (POP)switch 6, the CC 8 and an intelligent peripheral such as an InteractiveVoice Response (IVR) unit 10. Service center 4 are located whenevertraffic volume warrants, for example, in each major city in the servicearea.

The POP 6 is a telecommunications switch and is integrated into the PSTN24. Alternatively, it may be an existing toll switch within the PSTN 24.In any event, the ability to bridge calls is central to itsfunctionality. The CC 8 is an application that periodically polls itsassigned call queue 27 d through a secure connection to obtain requestsfor calls to be set up or reconfigured by the service center 4. It alsoaccesses and updates the databases 27 through a secure connection. Itsends instructions to the POP 6, as required, to effect to the callrequests. The IVR 10 is an intelligent peripheral that permits voiceinteraction with a system user in order to obtain information forcustomer validation and call setup or reconfiguration.

The server 28 and the service center 4 cooperate to provide conferencecall services to customers in accordance with an embodiment of thepresent invention.

The system for providing conference call services is a subset of a groupof services provided by a telephone service provider (TSP). Suchservices are explained both generally and specifically (in the contextof providing long distance call connections) in Applicant's co-pendingUnited States Patent Publication No. 20020136390, entitled A SYSTEM ANDMETHOD FOR ESTABLISHING CALL CONNECTIONS USING ELECTRONIC TEXT MESSAGES,filed Mar. 22, 2001, and published on Sep. 26, 2002.

In accordance with the present invention, any wireline or wirelessdevice, but typically an SMS-equipped cellular telephone, may send anSMS text message to the conference scheduler database application 29 torequest a conference call setup. As will be explained below in somedetail, when the conference scheduler database application 29 receivesan SMS text message requesting a conference call, the message is parsedand validated. If valid, the conference scheduler database application29 schedules the conference call by sending SMS text messages to theproposed participants, who may accept or decline the conference callinvitation. When the conference call is to take place, the conferencescheduler database application 29 updates the call queue 27 d to requestthat connections be made to establish the conference call.

The CC 8 systematically polls the call queue 27 d and retrieves callrequests for completion by the POP 6. As will also be explained below insome detail, an intelligent peripheral, such as IVR 10, may be usedunder certain circumstances to obtain conference call relatedinformation.

Electronic Text Message Format

It will be understood by persons skilled in the art that in order to beinterpreted, electronic text messages must conform to a predeterminedformat. As will be appreciated, the format for an electronic textmessage is essentially a matter of design choice. Nonetheless, eachelectronic text message must contain adequate information to permit thesystem to establish the desired conference call.

The SMS message format itself imposes a few constraints on the format ofthe electronic text message. SMS messages have a maximum length of 160characters, but may be concatenated to form larger messages.Nevertheless, because the transmission of each message incurs a servicecharge, messages should comprise a collection of generally highly-codedand brief command sequences. Thus, an exemplary text message format fora request to schedule a conference call is as follows:

-   -   command; abort time; origination no.; destination info(s);        date/time; POP; billing code

The command listed above in bold text is mandatory and must be providedfor every call request. The command specifies the type of call that isto be established by the system. In the context of the invention,exemplary commands are: “cc”; “scc”, “cc#” and “scc#”. The “cc” commandis used to establish a conference call between three or more parties onan immediate basis, as discussed below. The “scc” command is used toestablish a scheduled conference call at a later date. The “cc#” and“scc#” commands are used to originate predefined sets of originatingnumber/destination number groups that are stored in a customer profilefor either immediate or scheduled conference calls respectively.

The optional abort time field may be specified to avoid calls at aninconvenient time. Since not all forms of electronic text messaging,including SMS, can be relied upon to deliver messages within a predictedtime, the “abort time” limits the window in which an attempt will bemade to schedule a conference call. The abort time is preferablyspecified in the format “dd:mo:hh:mm, Time Zone”; a 24-hour format,followed by a time zone indicator. If an abort date is not specified,the date on which the message was sent, as indicated in the messageheader, is assumed. If the abort time has passed when the message isreceived, the message is discarded and a call aborted message isreturned to the requester.

In the customer's profile, an originating number is designated as adefault. The optional origination no. information permits a requester tospecify an originating number which is not stored in the customerprofile. The specification of an originating number that is not storedin the customer profile initiates a special authentication procedure todetermine the entitlement of the caller to place a call, as described inApplicant's co-pending U.S. patent application Ser. No. 09/813,845,referenced above.

The mandatory destination info(s) information is used to specify thecontact information for two or more conference call participants. Thecontact information consists of a primary destination number, anoptional backup destination number, and a text messaging address. Thedestination number(s) may conform to any number plan format and mustappear first. Multiple contact information groups are separated bysemicolons.

Where a destination primary or backup number is associated with anSMS-enabled cellular telephone, SMS messages may be addressed to theparticipant by sending them to the destination telephone number. In sucha case, the SMS-capability is indicated by the letter “s” following theslash character instead of an explicit text messaging address. Where aparticipant does not have electronic text message capability, this maybe indicated by the letter “v” following the slash character in place ofany explicit text messaging address.

Those having ordinary skill in this art will readily recognize that theoriginating text message address is not provided. It is unnecessarybecause it is inferred from the message header of the text messagecontaining the command sequence. In the case of an SMS message, theoriginating text message address is identified using the originatingtelephone number, which is stored in the “from” field of the SMSmessage. This telephone number must be among the originating numbersstored in the customer profile database 27 a.

The date/time information is used for scheduled calls, that is, callsthat are not to be initiated immediately. Thus, the date/time field willonly be valid with the following commands: “scc” and “scc#”. At the sametime, the omission of the date/time field for these commands will resultin a syntax error. The date/time information is preferably specified inthe format “dd:yy:mo:hh:mm, TimeZone”. The time is preferably specifiedin 24-hour format, followed by a time zone indicator. If a date is notspecified, the current date is assumed.

The optional POP (point of presence) information is used to indicate aparticular POP from which the conference call is to be set up.

The billing code is an optional field used to associate charges for thecall with a particular billing code, as is well known in this art.

In addition to the Scheduling Request message format, there are a numberof other SMS messages that may be exchanged between users and thesystem, namely the Invitation, Accept, Decline, Join and Forwardmessages.

The Invitation message is sent by the conference scheduler databaseapplication 29 to each participant in the conference call as identifiedin the Scheduling Request message. The abort time and date/time fieldshave the same significance as in the Scheduling Request message. The CBNfield contains a conference bridge number assigned by the server 28 touniquely identify the conference call. An exemplary text message formatis as follows:

Invitation message format:

-   -   i; abort time; CBN; date/time

The Accept and Decline messages are sent by each recipient of anInvitation message to indicate whether the recipient wishes toparticipate in the proposed conference call identified by the CBN field.Exemplary text message formats are as follows:

Accept message format:

-   -   a; abort time; CBN

Decline message format:

-   -   d; abort time; CBN

The Join message may be sent by a proposed participant to the system torequest admission into an ongoing conference call. The proposedparticipant must have been previously provided with the CBN, which bothidentifies the conference call and serves to validate the proposedparticipant. Alternatively, the Join message may be sent by a presentparticipant in the conference call to the system, to request that aninvitation be sent to the proposed participant. In this case, thedestination info field is required to identify the proposed participantto the system. The destination info field is not required when theproposed participant sends the Join message, because this can beinferred from the message header of the text message containing themessage. An exemplary text message format is as follows:

Join message format:

-   -   j; abort time; CBN; destination info

The Forward message may be sent by a present participant in an ongoingconference call to forward the participant's telephone number(origination no.) to a new telephone number (destination no.). Becauseno SMS message need be sent, the text messaging address is not required.An exemplary text message format is as follows:

Forward message format:

-   -   f; abort time; CBN; origination no.; destination no.

Conference Scheduler Processing

FIG. 2 is a flow diagram showing principal steps performed by theconference scheduler database application 29, to manage the exchange ofthe above-identified messages with users and to access and update thedatabases 27 in conjunction therewith.

A text message is retrieved by the conference scheduler databaseapplication 29 from the Internet 26, or directly by the CC 8 from theconference gateway 32 (step 200). The conference scheduler databaseapplication 29 examines the delimited information in the message (step202) to determine whether the message can be parsed. If the informationis incorrectly specified or critical information is missing, theconference scheduler database application 29 formulates an appropriateerror message (step 204) and transmits it to the originator identityextracted from the message header (step 206), at which point it waitsfor the receipt of another message.

If it is determined that the message can be parsed, the conferencescheduler database application 29 determines if an abort time wasspecified in the message (step 208). As explained above, the abort timeis used to ensure that a call is not completed at an inconvenient time.If an abort time has not been specified, a default abort time iscomputed (step 210) using the time specified in the message header thatindicates when the message was sent, plus a pre-determined defaultinterval, say 5 minutes. In either case, the abort time is compared tothe system time to determine whether it has expired (step 212). If theabort time has expired, an abort message is formulated (step 214) andthe conference scheduler database application 29 transmits it to theoriginator identity extracted from the message header (step 216), atwhich point it waits for the receipt of another message.

If the abort time has not expired, the conference scheduler databaseapplication 29 determines if the message is a Scheduling Request message(step 218). If not, it proceeds to step 252, described below.

Scheduling Request Message

If the message is a Scheduling Request message, the originator identityis extracted from the message header and used as a key to search theprofiles database 27 a to determine if the originator is entitled torequest a conference call (step 220). If a customer profile cannot belocated (step 222), the conference scheduler database application 29formulates an appropriate error message (step 204) and transmits it tothe originator identity extracted from the message header (step 206), atwhich point it waits for the receipt of another message.

Otherwise, the customer profile record is retrieved (step 224). Creditis checked with the corresponding entry in the billing database 27 b(step 226). If the subscriber lacks credit to initiate the call, theconference scheduler database application 29 formulates an appropriateerror message (step 204) and transmits it to the originator identityextracted from the message header (step 206), at which point it waitsfor the receipt of another message.

If the credit is acceptable, the message is examined to determinewhether the originating number was explicitly specified (step 228). Ifno originating number was specified in the text message, the originatingnumber is extracted from the subscriber profile (step 230).

Whether the originating number was explicitly specified or not, theoriginating number is checked to ensure that it conforms to a knownnumber plan (step 232). If not, the conference scheduler databaseapplication 29 formulates an appropriate error message (step 204) andtransmits it to the originator identity extracted from the messageheader (step 206), at which point it waits for the receipt of anothermessage.

If the originating number is valid, the conference scheduler databaseapplication 29 assigns a CBN to the requested conference call (step 238)and creates a new call entry in the conference database 27 c (step 240).The conference scheduler database application 29 adds the originatinginformation (both the telephone number and the text message address)into the new call entry (step 242).

The conference scheduler database application 29 also extracts all ofthe destination information specified in the received text message andadds each set into the new call entry (steps 244 and 246).

The conference scheduler database application 29 thereupon formulates anInvitation message containing the CBN, and if a scheduled call, thedate/time (step 248) and transmits it to the originating and destinationtext message addresses (step 250), at which point it waits for thereceipt of another message.

Those having ordinary skill in this art will readily recognize thatcertain proposed participants specified may not have text messageaddresses to which the invitation may be conveyed. This difficulty maybe addressed in a number of ways (not shown).

For example, it may be assumed that the originator, who specified thisin the Scheduling Request message, is aware of this fact, and willcommunicate directly with the proposed participants. Alternatively, itmay be prearranged that a reminder message identifying those proposedparticipants be formulated and transmitted to the originating textmessage address. Still further, the conference scheduler databaseapplication 29 may be provided with access to an IVR 10, whereupon arecorded voice message may be sent to the telephone number of each suchproposed participant, conveying the details and requesting a response.

In each case, the proposed participant will be requested to accesseither the web server 33 or to communicate by e-mail or other text meansand transmit a response, whether using an Accept or Decline message asappropriate. Particularly in the case of the third option, the IVR 10may also be used to solicit a response directly from the proposedparticipant at the end of the recorded voice message.

A further possibility, which is adapted here, is that such proposedparticipants are marked as requiring confirmation by the service center4 at the time that the conference call is initiated. For the purposes ofthe conference scheduler database application 29, they are presumed tohave accepted the invitation. Thus, the service center 4 will attempt toset up the call and will request confirmation using the IVR 10 beforebridging such calls into the conference call.

Accept or Decline Message

If the message received was not a Scheduling Request message (asdescribed above with reference to step 218), the conference schedulerdatabase application 29 determines if the message is an Accept message(step 252 FIG. 2 b). If not, it determines if it is a Decline message(step 254).

If the message is an Accept message, the conference database 27 c isqueried to determine if an acknowledgement is required for theparticular participant (step 256). An acknowledgement will be requiredonly for those participants who are invited to join a conference callalready in progress, or who have not otherwise been invited by theoriginator of the Scheduling Request message. The acknowledgmentconsists of a report to the originator of the Scheduling Request messageindicating that the particular participant intends to join or-is-joiningthe conference call.

If an acknowledgment is required, or if a Decline message is received,the conference scheduler database application 29 formulates anappropriate report message (step 258) and transmits it to the originatorof the Scheduling Request message (step 260).

Whether or not a report is formulated and transmitted, the conferencescheduler database application 29 updates the call entry in theconference database 27 c corresponding to the specified CBN to reflectthe response from the particular participant (step 262).

If all responses have not been received yet (step 264), the conferencescheduler database application 29 waits for the receipt of anothermessage. Optionally, a timeout period may be established beyond whichthe conference scheduler database application 29 no longer waits forresponses.

When no further responses are expected (or permitted), the conferencescheduler database application 29 formulates a status report (step 266)and transmits it to the originator of the Scheduling Request message(step 268).

At this point, the scheduling process has been completed. If therequested conference call was to take place immediately, or when thescheduled time has arrived (step 272), the conference scheduler databaseapplication 29 writes call requests to the call queue 27 d correspondingto the appropriate service center 4 and waits for the receipt of anothermessage (step 274).

Those having ordinary skill in this art will recognize that step 272,during which the conference scheduler database application 29 waits forthe scheduled time to arrive, does not mean that the conferencescheduler database application 29 is unable to process other messagesrelated to other conference calls in the interim. Step 272 merely servesto indicate that the call request is not written to the call queue 27 duntil the scheduled time has arrived.

Forward Message

If the message received was not a Scheduling Request, Accept or Declinemessage (discussed in steps 218, 252 and 254 above), the conferencescheduler database application 29 determines if the message is a Forwardmessage (step 276). If not, the message must be a Join message.

If the message is a Forward message, the conference scheduler databaseapplication 29 updates the call entry in the conference database 27 ccorresponding to the specified CBN to reflect that a specifiedconference number is being replaced by a new conference number (step278). If the conference call is already underway (step 280), theconference scheduler database application 29 writes a call request tothe call queue 27 d corresponding to the appropriate service center 4(step 282). Thereafter, the conference scheduler database application 29waits for the receipt of another message.

Optionally, the conference scheduler database application 29 may alsoformulate an appropriate report message and transmit it to theoriginator of the Forward message (not shown).

Join Message

If the message received was not a Scheduling Request, Accept, Declineor-Forward message (discussed in steps 218, 252, 254 and 276 above), themessage must be a Join message.

In this case the conference scheduler database application 29 determinesif destination information has been specified in the message (step 284FIG. 2 c). If so, the message is presumed to have been sent from acurrent participant in the conference call in respect of a proposedparticipant.

The conference scheduler database application 29 therefore updates thecall entry in the conference database 27 c corresponding to thespecified CBN to add the specified destination information (step 286),sets the acknowledgement flag for this entry (step 288), formulates anInvitation message containing the CBN and optionally the date/time (step290) and transmits it to the specified destination text message address(step 292), at which point it waits for the receipt of another message.

If the call being joined is already underway, when the recipient acceptsthe invitation and this is communicated to the server, the server willdetermine that the decision “All responses received?” (step 264) will betrue. As well, the conference call is already underway. Therefore, acall request is written to the call queue (step 274) to join the newparticipant to the conference call.

If the call being joined has not yet commenced, the conference databaseneed merely be updated. The recipient of the Join invitation will beconnected to the call together with all other participants, when thecall is initiated.

If no destination information has been provided in the message, themessage is presumed to have been sent by a proposed participant who hasbeen given the CBN by an existing participant. Presumably, the CBN couldhave been communicated by the transmission of an SMS message from theexisting participant to the proposed participant. In any event, theconference scheduler database application 29 updates the call entry inthe conference database 27 c corresponding to the specified CBN to addthe call termination information extracted from the message (step 294).

If the conference call is already underway (step 296), the conferencescheduler database application 29 writes a call request to the callqueue 27 d of the appropriate service center 4 (step 298). Thereafter,the conference scheduler database application 29 awaits the receipt ofanother message. Optionally, the conference scheduler databaseapplication 29 may also formulate an appropriate report message andtransmit it to the originator of the Join message (not shown in the flowchart).

As will be understood by those skilled in this art, the foregoingoverview of conference scheduler database application processing isrelated to a specific network configuration and implementation and textmessages may be processed in many other ways to achieve the same resultwithout departing from the spirit and scope of the invention.

Call Controller Processing

FIG. 3 is a flow diagram showing principal steps performed by a callcontroller 8, when a call request is written in steps 274, 282 or 298 ofFIG. 2.

As shown in FIG. 3, the call controller 8 retrieves a call request fromthe call queue 27 d (step 300). The call controller 8 determines if thecall request is for a conference call (step 302). If not, it proceeds tostep 350 described below.

Conference Call Request

If the call request is for a conference call, the call controller 8instructs the POP 6 to dial the originating number specified in the callrequest (step 304). The call controller 8 polls the POP 6 to determinewhen the call has been set up (step 306). After a predetermined time,the call controller 8 determines whether the call has been answered(step 308). If the call has not been answered, an error message isformulated (step 310) and returned to the requester (step 312), afterwhich the call controller 8 retrieves another call request.

Otherwise, the call controller 8 instructs the POP 6 to dial one of theremaining destination numbers specified in the call request (step 314).The call controller 8 polls the POP 6 to determine when the call hasbeen set up (step 316). After a predetermined time, the call controller8 determines whether the call has been answered (step 318). If the callhas not been answered, an error message is formulated (step 318) andreturned to the requester (step 319), after which the call controller 8proceeds to step 340, to process other destination numbers that may havebeen specified.

If the call has been answered, the call controller 8 determines whetherthe dialed destination number is one for which acceptance of theconference call must be solicited (step 320). As discussed previously,this would be the case if the proposed participant has no text messageaddress and was unable to accept or decline the conference callpreviously.

In this circumstance, an instruction message is sent by the callcontroller 8 to the IVR 10 instructing the IVR 10 to play apredetermined recorded voice message and solicit a response as towhether the proposed participant wishes to accept or decline theconference call (step 322). The response may be a voice response or adigit input using the telephone dial pad. The call controller 8thereafter awaits a response from the IVR 10 (step 324). When a responseis received, the call controller 8 determines if the conference call wasaccepted or declined (step 326). If the conference call has beenaccepted, the call controller 8 releases the call to the IVR 6 (step328) and instructs the POP 6 to bridge the destination telephone callwith the ongoing conference call (step 330), which includes theoriginating telephone call and any previous destination calls bridgedtherewith. If the conference call is declined, the call controller 8releases the call to the destination telephone (step 332), releases thecall to the IVR 6 (step 334), formulates an error message (step 336),which it returns to the requester (step 338).

In either circumstance, the call controller 8 determines if any moredestination telephone calls remain to be made (step 340). If so, thecall controller 8 proceeds to step 314 discussed above. If not, the callcontroller 8 passes call information to the billing database 27 b. (step342).

Thereafter, the call controller 8 polls the POP 6 for call progress(step 344). If the call controller 8 determines that the conference callhas not been terminated (step 346), it polls the POP 6 again after apredetermined time lapse.

Once the conference call has been terminated, the call controller 8passes call information, including the termination time to the billingdatabase 27 b (step 348), after which the call controller retrievesanother call request.

Those having ordinary skill in this art will recognize that step 346,which indicates that the call controller continuously polls the POP 6until it is determined that the conference call has been terminated,does not mean that it is unable to process other received call requestsrelating to other calls in the interim. Rather, it merely serves toindicate that the call information is not passed to the billing database27 b until the call has been terminated.

Call Forward Request

If the call request received was not a conference call request(discussed in step 302 above), the call controller 8 determines if thecall request is a call forward request (step 350). If not, the callrequest must be a call join request and the call controller 8 proceedsto step 362 discussed below.

If the call request is a Call forward request, the call controller 8instructs the POP 6 to dial the destination number specified in the callrequest (step 352). The call controller 8 polls the POP 6 to determinewhen the call has been set up (step 354). After a predetermined time,the call controller 8 determines whether the call has been answered(step 356). If the call has not been answered, an error message isformulated (step 310) and returned to the requester (step 312), afterwhich the call controller 8 retrieves another call request.

If the call has been answered, the call controller 8 instructs the POP 6to bridge the destination telephone call with the ongoing conferencecall (step 358), which comprises the originating telephone call and anyprevious destination calls bridged therewith. The call controller 8thereafter releases the call to the originating number specified in thecall request, which had been previously bridged into the ongoingconference call (step 360), after which the call controller 8 retrievesanother call request.

Call Join Request

If the call request was not a conference call or call forward request(discussed in steps 302 and 350 above), the call request must be a calljoin request. In that case, the call controller 8 instructs the POP 6 todial the destination number specified in the call request (step 362).The call controller 8 polls the POP 6 to determine when the call hasbeen set up (step 364). After a predetermined time, the call controller8 determines whether the call has been answered (step 366). If the callhas not been answered, an error message is formulated (step 310) andreturned to the requester (step 312), after which the call controller 8retrieves another call request.

If the call has been answered, the call controller 8 instructs the POP 6to bridge the destination telephone call with the ongoing conferencecall (step 368), which comprises the originating telephone call and anyprevious destination calls bridged therewith, after which the callcontroller 8 retrieves another call request.

As will be understood by those skilled in this art, the foregoingoverview of call controller processing is related to a specific networkconfiguration and implementation and call requests may be processed inmany other ways to achieve the same result without departing from thespirit and scope of the invention.

Example Calls

FIGS. 4-7 are call flow diagrams that illustrate principal steps inexemplary calls established using the methods and system in accordancewith the present invention.

Scheduling a Conference Call on a Scheduled Basis

FIG. 4 shows the call flow for a successful attempt to arrange aconference call on a scheduled basis. For exemplary purposes, it isassumed that cellular telephone 16 b is the originator of the conferencecall request, and wishes to join in WAP telephone 12 and cellulartelephone 16 a.

The customer at cellular telephone 16 b sends a Scheduling Requestmessage containing the requisite details by SMS to MSC 20 b (step 400)The message is in turn forwarded to conference scheduler databaseapplication gateway 30 and eventually to the conference schedulerdatabase application 29 (steps 401-402). The conference schedulerdatabase application 29 determines if it is parsible (step 403. If not,the conference scheduler database application 29 returns an errormessage to the customer at cellular telephone 16 b through the SMSgateway 23, MSC 20 b and the cellular telephone 16 b (steps 404-406).

If the message is parsible, the conference scheduler databaseapplication 29 determines if the abort time has expired, as describedabove with reference to FIG. 2 (step 407). If so, the conferencescheduler database application 29 returns an abort message to thecustomer at cellular telephone 16 b along the same path. If the aborttime has not expired, the conference scheduler database application 29accesses the customer's profile from the profile database 27 a, asdescribed above with reference to FIG. 2 (step 411) and determines ifthe conference call may be arranged (step 412). If not, the conferencescheduler database application 29 returns an error message to thecustomer at cellular telephone 16 b along the same path as describedabove with reference to steps 404-406 (steps 413-415). If the conferencecall may be arranged, the conference scheduler database application 29confirms that the originating number conforms to a known number plan(step 416). If not, the conference scheduler database application 29returns an error message to the customer at cellular telephone 16 balong the same path. If the originating number is accurate, theconference scheduler database application 29 assigns a conference bridgenumber (CBN) and creates a new entry in the conference database 27 c, asdescribed above with reference to FIG. 2 (step 420).

The conference scheduler database application 29 thereafter formulatesan Invitation message that it forwards to the SMS gateway 23 (step 421)for transmission to the WAP telephone 12 and cellular telephone 16 a.The SMS gateway 23 forwards the Invitation message to MSC 20 a (step422), which forwards it to cellular telephone 16 a (step 423). The SMSgateway 23 also forwards the Invitation message to MSC 20 b (step 424),which forwards it to WAP telephone 12 (step 425).

The WAP telephone 12 transmits an Accept or Decline message that itforwards through MSC 20 b, conference scheduler gateway 30 and theconference scheduler database application 29 (steps 426-428). Theconference scheduler database application 29 determines if the messageis a Decline message (step 429). If so, it transmits a report message tothis effect to the customer at cellular telephone 16 b along the samepath as steps 404-406 (steps 430-432). In either event, the conferencescheduler database application 29 updates the conference database 27 c(step 433). Cellular telephone 16 a also transmits an Accept or Declinemessage that it forwards through MSC 20 a, conference scheduler gateway30 and the conference scheduler database application 29 (steps 434-436).The conference scheduler database application 29 determines if themessage is a Decline message (step 437). If so, it transmits a reportmessage to this effect to the customer at cellular telephone 16 b alongthe same path as steps 404-406 (steps 438-440). In either event, theconference scheduler database application 29 updates the conferencedatabase 27 c (step 441).

Once the conference scheduler database application 29 determines thatall invitees have responded with either an Accept or Decline message(step 442), it transmits a report message listing the participants tothe customer at cellular telephone 16 b along the same path as steps404-406 (steps 443-445). Because this is a scheduled conference, theconference scheduler database application waits until the scheduled timebefore proceeding to request that the conference call be established, asdescribed below in FIG. 5 (step 446).

FIG. 5 shows the call flow for a successful attempt to establish apreviously scheduled conference call. For exemplary purposes, it isassumed that cellular telephone 16 b is the originator of the conferencecall request, and wishes to join in WAP telephone 12 and cellulartelephone 16 a. When the conference call is to be established, theconference scheduler database application 29 writes a call requestrecord to the call queue 27 d (step 501). The call controller 8 pollsthe call queue 27 d on a regular basis (step 502) and retrieves callrequests written to the call queue (step 503). When a Conference Callrequest is retrieved, call controller 8 sends an instruction to the POP6 to set up a call connection to the specified originating number (step504). The POP 6 thereupon formulates a call setup message (an IntegratedServices Digital Network User Part (ISUP)) Initial Address Message(IAM), for example, and forwards the call setup message into the PSTN 24(step 505) which forwards the message through the PSTN 24 to the MSC 20b (step 506).

Those having ordinary skill in this art will recognize that in fact, theIAM message will be forwarded through the PSTN 24 along the CCS network22 that directs connections through the PSTN 24, however this has beenomitted from FIGS. 5-8 for simplicity.

On receipt of the IAM, the MSC 20 b applies ringing to the cellulartelephone 16 b (step 507) and returns an Address Complete (ACM) messagethrough the PSTN 24 to the POP 6 (steps 508-509). Subsequently, thecellular telephone 16 b is answered (step 510), which causes the MSC 20b to return an Answer (ANM) message through the PSTN 24 to the POP 6(steps 511-512). The call controller 8 periodically polls the POP 6 todetermine call status (step 513) and retrieves the call status when itis available (step 514). The information retrieved informs the callcontroller 8 that the first call to the originating number has beencompleted. The call controller thereupon sends an instruction to the POP6 to set up a call connection to the first specified destination number,corresponding to WAP telephone 12 (step 515). The POP 6 thereuponformulates a call setup message and forwards the call setup message intothe PSTN 24 (step 516) which forwards the message to the MSC 20 b (step517). On receipt of the IAM, the MSC 20 b applies ringing to the WAPtelephone 12 (step 518) and returns an Address Complete (ACM) messagethrough the PSTN 24 to the POP 6 (steps 519-520). Subsequently, the WAPtelephone 12 is answered (step 521), which causes the MSC 20 b to returnan Answer (ANM) message through the PSTN 24 to the POP 6 (steps522-523). The call controller 8 periodically polls the POP 6 todetermine call status (step 524) and retrieves the call status when itis available (step 525). The information retrieved informs the callcontroller 8 that the second call to the first destination number hasbeen completed. The call controller 8 thereupon instructs the POP 6 tobridge the calls together (step 526).

The call controller then sends an instruction to the POP 6 to set up acall connection to the second specified destination number,corresponding to cellular telephone 16 a (step 530). The POP 6 thereuponformulates a call setup message and forwards the call setup message intothe PSTN 24 (step 531) which forwards the message through the PSTN 24 tothe MSC 20 a (step 532). On receipt of the IAM, the MSC 20 a appliesringing to cellular telephone 16 a (step 533) and returns an AddressComplete (ACM) message through the PSTN 24 to the POP 6 (steps 534-535).Subsequently; cellular telephone 16 a is answered (step 536), whichcauses the MSC 20 a to return an Answer (ANM) message through the PSTN24 to the POP 6 (steps 537-538).

The call controller 8 periodically polls the POP 6 to determine callstatus (step 539) and retrieves the call status when it becomesavailable (step 540). The information retrieved informs the callcontroller 8 that the third call to the second destination number hasbeen answered. The call controller 8 then instructs the POP 6 to bridgethe calls together (step 541). At this point the conference call hasbeen established. The call controller 8 therefore sends an informationrecord to the billing database 27 b instructing that a billingtransaction be created for the call (step 545).

When one of the participants goes on hook, say WAP telephone 12 (step546), a Release message is generated, in this case by MSC 20 b (step547), which is forwarded through the PSTN 24 to the POP 6 (step 548).

The call controller 8 periodically polls the POP 6 to determine callstatus (step 549) and retrieves the call status when it is available(step 550). The information retrieved informs the call controller 8 thatWAP telephone 12 has gone on hook. Meanwhile, the POP 6 acknowledgesthis with a Release Complete (RLC) message sent back to the PSTN (step551).

When another of the participants goes on hook, say cellular telephone 16b (step 552), a Release message is generated, in this case by MSC 20 b(step 553), which is forwarded through the PSTN 24 to the POP 6 (step554). The call controller 8 periodically polls the POP 6 to determinecall status (step 555) and retrieves the call status when it isavailable (step 556). The information retrieved informs the callcontroller 8 that cellular telephone 16 b has gone on hook. Meanwhilethe POP 6 acknowledges the Release message with a Release Complete (RLC)sent back to the PSTN 24. At this point the conference call has beenterminated. The call controller 8 therefore sends an information recordto the billing database 27 b instructing that a billing transaction becreated for the call (step 558).

Scheduling and Establishing a Conference Call on an Immediate Basis

Those having ordinary skill in this art will readily recognize that thecall flow for a conference call on an immediate basis will consist ofthe call flows shown in FIG. 4 followed immediately by the call flowsshown in FIG. 5. That is to say, the wait step (step 446) is omitted.

Establishing a Conference Call Involving a Participant Without TextMessaging Capability

FIG. 6 shows the call flow for a successful attempt to arrange aconference call involving a participant using a wireline telephone andwithout text message capability. For exemplary purposes, it is assumedthat cellular telephone 16 b is the originator of the conference callrequest, and wishes to join in wireline telephone 2 and cellulartelephone 16 a.

The processing in FIG. 6 is identical to the processing in FIG. 5, withthe exception that steps 515 through 526 are omitted and are replacedwith steps 615-636, described below.

The call controller sends an instruction to the POP 6 to set up a callconnection to the first specified destination number, in this casecorresponding to wireline telephone 2 (step 615). The POP 6 thereuponformulates a call setup message and forwards the call setup message intothe PSTN 24 (step 616) which forwards the message through the PSTN 24 tothe switch, for example an SSP, that controls wireline telephone 2 a(step 617). On receipt of the IAM, the switch applies ringing to thewireline telephone 2 (step 618) and returns an Address Complete (ACM)message through the PSTN 24 to the POP 6 (steps 619-620). Subsequently,the wireline telephone 2 a is answered (step 621), which causes the SSPto return an Answer (ANM) message through the PSTN 24 to the POP 6(steps 622-623). The call controller 8 periodically polls the POP 6 todetermine call status (step 624) and retrieves the call status when itis available (step 625). The information retrieved informs the callcontroller 8 that the second call to the first destination number hasbeen completed. The call controller 8 in this case notes thatconfirmation that the conference call is accepted needs to be obtained,as explained above with reference to FIG. 3. It instructs the POP 6 toactivate the IVR 10 (step 626). The POP 6 is connected to the IVR 10 bya Small Message Desk Interface (SMDI) or an ISDN Private Rate Interface(PRI) and sends an ISDN setup message to the IVR 10 (step 627). The IVR10 responds with an Acknowledge message (step 628) and an Answer message(step 629).

The call controller 8 periodically polls the POP 6 to determine callstatus (step 630) and retrieves the call status when it is available(step 631). The information retrieved informs the call controller 8 thatthe third call to the second destination number has been answered. Thecall controller 8 then sends a message, for example through a TCP/IPconnection to the IVR 10 instructing the IVR 10 to query the customer todetermine whether they wish to accept the conference call connectionbeing established (step 632).

The IVR 10 plays an appropriate recorded voice message, which is heardby the proposed participant at the wireline telephone 2 (step 633). Inresponse, the proposed participant delivers a response, say by inputtingdigits using the telephone dial pad (step 634). Alternatively, theproposed participant could be prompted to deliver a voice response whichis recorded and analyzed. The response is captured by the IVR 10 andreturned to the call controller 8 along the TCP/IP connection (step635). In this example, it is assumed that the response is to accept theconference call. The call controller 8 thereupon instructs the POP tobridge the calls together (step 636).

Processing from this point forward generally follows the sequence setout in FIG. 5 at step 530 onward.

Joining an Ongoing Conference Call

FIG. 7 shows the call flow for two successful attempts by a participantto join an ongoing conference call at the invitation of an existingparticipant. For exemplary purposes, it is assumed that cellulartelephone 16 b is a current participant of the ongoing conference calland wishes that cellular telephone 16 a join in the conference call.

In the first attempt, cellular telephone 16 b transmits, by SMS messageto cellular telephone 16 a, the CBN corresponding to the ongoingconference call and cellular telephone 16 a transmits a Join request tothe conference scheduler database application 29. The customer atcellular telephone 16 b sends a message containing the CBN by SMS to MSC20 b (step 700). The message is forwarded in turn to MSC 20 a andeventually to cellular telephone 16 a (step 701-702). The customer atcellular telephone 16 a sends a Join message by SMS to MSC 20 a (step703). The message is in turn forwarded to conference scheduler gateway30 and eventually to the conference scheduler database application 29(steps 704, 707). The conference scheduler database application 29determines if it is parsible (step 708). If not, the conferencescheduler database application 29 returns an error message to thecustomer at cellular telephone 16 b along the same path as shown insteps 404-406 of FIG. 4 (step 709 shown but remaining are notillustrated).

If the message is parsible, the conference scheduler databaseapplication 29 determines if the abort time has expired, as describedabove with reference to FIG. 2 (step 710). If so, the conferencescheduler database application 29 returns an abort message to thecustomer at cellular telephone 16 b along the same path as steps 404-406(step 711 shown but remaining steps are not illustrated). If the aborttime has not expired, the conference scheduler database application 29updates the entry in the conference database 27 c to reflect the Joinrequest, as described above with reference to FIG. 2 (step 712). Theconference scheduler database application 29 thereafter determines ifthe conference call is already underway (step 722). Having determinedthat it is, the conference scheduler database application 29 writes acall request record to the call queue 27 d (step 723).

The processing which follows is common to both the first attempt (flowsshown above the first dotted line) and the second attempt (flows shownbetween the first and second dotted line). The flows for the commonprocessing are shown below the second dotted line.

The call controller 8 polls the call queue 27 d on a regular basis (step725) and retrieves call requests written to the call queue (step 726).

When a Join request is retrieved, call controller 8 sends an instructionto the POP 6 to set up a call connection to the specified destinationnumber, corresponding to cellular telephone 16 a (step 727). The POP 6thereupon formulates a call setup message and forwards the call setupmessage into the PSTN 24 (step 728) which forwards the message throughthe PSTN 24 to the MSC 20 a (step 729). On receipt of the IAM, the MSC20 a applies ringing to cellular telephone 16 a (step 730) and returnsan Address Complete (ACM) message through the PSTN 24 to the POP 6(steps 731-732). Subsequently, cellular telephone 16 a is answered (step733), which causes the MSC 20 a to return an Answer (ANM) messagethrough the PSTN 24 to the POP 6 (steps 734-735). The call controller 8periodically polls the POP 6 to determine call status (step 736) andretrieves the call status when it is available (step 737). Theinformation retrieved informs the call controller 8 that the third callto the second destination number has been completed. The call controller8 thereupon instructs the POP to bridge the calls together (step 738).Processing from this point forward generally follows the sequence setout in FIG. 5 at step 545 onward.

Second Attempt

In the second attempt (shown in FIG. 7 between the first and seconddotted lines), cellular telephone 16 b transmits a Join request to theconference scheduler database application 29. The processing for thisattempt is identical to the processing for the first attempt, with theexception that steps 700-704 are replaced by steps 705-706 and steps713-721, described below are introduced after step 712 and before step722.

Cellular telephone 16 b sends a Join message by SMS to MSC 20 b (step705). The message is forwarded to conference scheduler gateway 30 (step706) and eventually to the conference scheduler database application 29(step 707). The conference scheduler database application 29 determinesif it is parsible (step 708). If not, the conference scheduler databaseapplication 29 returns an error message to the customer at cellulartelephone 16 b backwards along the same path ₁ as shown in steps 404-406of FIG. 4 (step 709 shown but remaining flows omitted). If the messageis parsible, the conference scheduler database application 29 determinesif the abort time has expired, as described above with reference to FIG.2 (step 710). If so, the conference scheduler database application 29returns an abort message to the customer at cellular telephone 16 balong the same path as steps 404-406 (step 711 shown but remaining flowsomitted). If the abort time has not expired, the conference schedulerdatabase application 29 updates the entry in the conference database 27c to reflect the Join request, as described above with reference to FIG.2 (step 712).

The conference scheduler database application 29 thereafter formulatesan Invitation message that it forwards to the SMS gateway 23 (step 713)for transmission to cellular telephone 16 a. The SMS gateway 23 forwardsthe Invitation message to MSC 18 a (step 714), which forwards it tocellular telephone 16 a (step 715). The cellular telephone 16 atransmits an Accept or Decline message that it forwards through MSC 20a, conference scheduler gateway 30 and to the conference schedulerdatabase application 29 (steps 716-718). The conference schedulerdatabase application 29 determines if the message is a Decline message(step 19). If so, it transmits a report message to this effect to thecustomer at cellular telephone 16 b along the same path as steps 404-406(step 720 shown but remaining flows omitted). In either event, theconference scheduler database application 29 updates the conferencedatabase 27 c (step 721). Processing from this point forward generallyfollows the sequence set out in FIG. 7 at step 722 onward, as discussedabove.

Forwarding an Ongoing Conference Call

FIG. 8 shows the call flow for a successful attempt by a participant toforward an ongoing conference call from one telephone number to another.For exemplary purposes, it is assumed that cellular telephone 16 b is apresent participant of the ongoing conference call and wishes tocontinue its participation in the conference call using wirelinetelephone 2.

The customer at cellular telephone 16 b sends a Forward message by SMSto MSC 20 b (step 801). The message is in turn forwarded to conferencescheduler gateway 30 and to the conference scheduler databaseapplication 29 (steps 802-803). The conference scheduler databaseapplication 29 determines if it is parsible (step 804). If not, theconference scheduler database application 29 returns an error message tothe customer at cellular telephone 16 b backwards along the same path asshown in steps 404-406 of FIG. 4 (step 805 shown but remaining flowsomitted). If the message is parsible, the conference scheduler databaseapplication 29 determines if the abort time has expired, as describedabove with reference to FIG. 2 (step 806). If so, the conferencescheduler database application 29 returns an abort message to thecustomer at cellular telephone 16 b along the same path as steps 404-406(step 807 shown but remaining flows omitted). If the abort time has notexpired, the conference scheduler database application 29 updates theentry in the conference database 27 c to reflect the forward request, asdescribed above with reference to FIG. 2. (step 808). The conferencescheduler database application 29 writes a call request record to thecall queue 27 d (step 809). The call controller 8 polls the call queue27 d on a regular basis (step 810) and retrieves call requests writtento the call queue (step 811). When a Join request is retrieved, the callcontroller sends an instruction to the POP 6 to set up a call connectionto the specified destination number, in this case corresponding towireline telephone 2 a (step 812). The POP 6 thereupon formulates a callsetup message and forwards the call setup message into the PSTN 24 (step813) which forwards the message through the PSTN 24 to the switch, forexample an SSP that controls wireline telephone 2 (step 814). On receiptof the IAM, the switch applies ringing to the wireline telephone 2 (step815) and returns an Address Complete (ACM) message through the PSTN 24to the POP 6 (steps 816-817). Subsequently, the wireline telephone 2 isanswered (step 818), which causes the SSP to return an Answer (ANM)message through the PSTN 24 to the POP 6 (steps 819-820). The callcontroller 8 periodically polls the POP 6 to determine call status (step821) and retrieves the call status when it is available (step 822). Theinformation retrieved informs the call controller 8 that the call to thedestination number has been completed. The call controller 8 thereuponinstructs the POP to bridge the call to the ongoing conference call(step 823).

The call controller 8 also instructs the POP 6 to release the call tothe original number used by the customer, in this case, to cellulartelephone 16 b (step 824). The POP 6 thereupon formulates a Releasemessage and forwards the Release message into the PSTN 24 (step 825),which returns a Release complete message (step 826) forwards a Releasethe message through the PSTN 24 to MSC 20 b (step 827).

On receipt of the Release message, MSC 20 b plays a dial tone tocellular telephone 16 b, which causes the customer to put the cellulartelephone on hook (step 828) and returns a Release Complete (RLC)message through the PSTN 24 to the POP 6 (step 829).

Missed, Dropped or Unanswered Calls

In real life scenarios, callers are often unavailable at the scheduledtime for a conference call, may loose contact to due poor reception,dead battery, or for many other reasons, or may away from their desk ifa wireline phone has been designated as the preferred connection device.In such instances, if the conference organizer has specified aSMS-enabled phone as the primary or backup connection device, theconference scheduler database application 29 is preferably provisionedto send a SMS message to each participant with a SMS enabled device thatcannot be joined to the conference call, or is dropped from the call.The SMS message includes the CBN for the conference call and aninvitation to join, or rejoin, the conference call.

After the participant receives the SMS message, he replies to the SMSmessage with a SMS message that includes the CBN. When the conferencescheduler application 29 receives the reply message, it checks therecipients telephone number against all primary and backup telephonenumbers scheduled to participate in the call. If the participant'stelephone number is among the telephone numbers of participants in thecall, the conference call scheduler database application 29 passes thetelephone number to the CC 8, with instructions to bridge to theanswered call to the conference call identified by the CBN. The CC 8then calls the participant using the telephone number and bridges theparticipant to the conference call. This mechanism therefore provides asimple and convenient way to join participants who have missed orforgotten a conference call, or have been dropped from the call for anyreason.

The present invention can be implemented in digital electroniccircuitry, or in computer hardware, firmware, software, or in anycombination thereof. Apparatus of the invention can be implemented in acomputer program product tangibly embodied in a machine-readable storagedevice for execution by a programmable processor; and methods actionscan be performed by a programmable processor executing a program ofinstructions to perform functions of the invention by operating on inputdata and generating output. The invention can be implementedadvantageously in one or more computer programs that are executable on aprogrammable system including at least one input device, and at leastone output device. Each computer program can be implemented in ahigh-level procedural or object oriented programming language, or inassembly or machine language if desired; and in any case, the languagecan be a compiled or interpreted language.

Suitable processors include, by way of example, both general andspecific microprocessors. Generally, a processor will receiveinstructions and data from a read-only memory and/or a random accessmemory. Generally, a computer will include one or more mass storagedevices for storing data files; such devices include magnetic disks,such as internal hard disks and removable disks; magneto-optical disks;and optical disks. Storage devices suitable for tangibly embodyingcomputer program instructions and data include all forms of non-volatilememory, including by way of example semiconductor memory devices, suchas EPROM, EEPROM, and flash memory devices; magnetic disks such asinternal hard disks and removable disks; magneto-optical disks; andCD-ROM and DVD disks. Any of the foregoing can be supplemented by, orincorporated in ASICs (application-specific integrated circuits).

Examples of such types of computers are programmable processing systemscontained in the conference scheduler database application 29 and thecall controller 8 shown in FIG. 1 suitable for implementing orperforming the apparatus or methods of the invention. The system maycomprise a processor, a random access memory, a hard drive controllerand an input/output controller coupled by a processor bus.

It will be apparent to those skilled in this art that variousmodifications and variations may be made to the embodiments disclosedherein, consistent with the present invention, without departing fromthe spirit and scope of the present invention. For example, theconference scheduler gateway 30, conference scheduler databaseapplication 29 and service center 4 need not be located in physicallydisparate locations as shown in FIG. 1. Rather, it is possible for theconference scheduler gateway 30, which is in wireless communication withSMS users, to be directly connected to the call controller 8. The callcontroller 8 may either contain all the functionality of the conferencescheduler database application 29, or be directly connected with it.Further, the databases 27 may be directly accessed by the callcontroller 8, or remain accessible by Ethernet communication as is shownin FIG. 1. In this fashion, there is no need to connect through theInternet in order to receive requests from users. Nevertheless, thewell-developed hierarchy for sending SMS messages to wireless customersthrough the Internet 26 and an SMS gateway 23 is well understood and maycontinue to be appropriated.

If the three components are directly connected, it would be possible topermit users without SMS capability to interact with the conferencescheduler database application 29 by merely dialing the dedicatedconference scheduler gateway 30 telephone number and inputting messageswith the assistance of the IVR unit 10.

Other embodiments consistent with the present invention will becomeapparent from consideration of the specification and the practice of theinvention disclosed therein.

Accordingly, the specification and the embodiments are to be consideredexemplary only, with a true scope and spirit of the invention beingdisclosed by the appended claims.

1. A system for enabling setup and control features for a conference call using wireless short message service (SMS) messages, the system comprising a conference scheduler gateway (32) for receiving a SMS message in a predetermined format requesting a conference call setup operation; a service center (4) that receives instructions from conference scheduler database application (29) and includes switching equipment (6) connected with a public switched telephone network (24) for generating and issuing call control messages in order to effect the conference call setup operation, CHARACTERIZED By: a conference scheduler database application (29) adapted to determine whether the SMS message requests a conference call setup, or a control operation for controlling an in-progress conference call, and the conference scheduler database application is adapted to present information as service requests to a call controller (8) of the service center (4) to effect conference call connection setup or control conference call connections.
 2. The system as claimed in claim 1 wherein the conference scheduler gateway (32) comprises a wireless receiver adapted to receive the SMS message and convert the SMS message to a text message that is forwarded through the Internet (26) to the conference scheduler database application (29).
 3. The system as claimed in claim 1 wherein the conference scheduler gateway (32) comprises a wireless receiver connected to the service center and is adapted to pass a content of the SMS message directly to the conference scheduler database application (29).
 4. The system as claimed in claim 3 wherein the conference scheduler gateway (32) comprises a communications processor adapted to communicate with a mobile switching center (20 a, 20 b) using a wireless link to receive the SMS messages.
 5. The system as claimed in claim 4 further comprising a SMS gateway (23) adapted to formulate and send SMS messages to invite participants to participate in the conference call.
 6. The system as claimed in claim 5 wherein the SMS gateway (23) is adapted to send identifier information with the invitation SMS messages, and the conference scheduler gateway (32) is adapted to accept SMS replies containing the identifier information that enables the recipients of the invitation SMS messages to initiate a connection with the conference call.
 7. The system as claimed in claim 1 wherein the conference scheduler database application (29) comprises an application element adapted to gather information required for the call setup or control operation, and to present the information to the service center.
 8. The system as claimed in claim 7 wherein the conference scheduler database application (29) is adapted to retrieve some of the information from a subscriber profile (27 a) associated with a subscriber who issued the SMS message.
 9. The system as claimed in claim 1 wherein the conference scheduler database application (29) further comprises a database (27 d) adapted to store a queue of service requests that is accessed by the call controller.
 10. The system as claimed in claim 1 wherein the service center (4) comprises telephone switching equipment (6) with a conference bridge, the telephone switching equipment being connected to the public switched telephone network (24).
 11. The system as claimed in claim 10 wherein the switching equipment (6) further comprises interactive voice response (10) functionality.
 12. The system as claimed in claim 9 wherein call controller (8) is further adapted to access the database (27 d) and to interface with the switching equipment (8), which serves as a point of presence in the PSTN (24) to effect the conference call setup or control operation in accordance with the service request.
 13. A method of enabling setup and control of a conference call using wireless short message service (SMS) messages, the method comprising receiving at a conference scheduler gateway (32) a SMS message in a predetermined format for requesting a conference call setup operation; forwarding at least a content of the SMS message to a conference scheduler database application (29); and generating and issuing call control messages into the PSTN (24) in order to effect the conference call setup operation, CHARACTERIZED By: determining whether the SMS message requests a setup or control operation, and forwarding a service request to switching equipment (8) connected with a public switched telephone network (24) to effect the conference call setup or control operation, and presenting information as service requests to a call controller (8) of a service center (4) to effect the conference call connection setup or control conference call connections.
 14. The method as claimed in claim 13, wherein if the SMS message requests a conference call setup operation, the method further comprises a step of formulating and sending messages to invite participants identified in the SMS message to join the conference call.
 15. The method as claimed in claim 14, further comprising a step communicating the invitations using SMS messages.
 16. The method as claimed in claim 13, further comprising a step of assigning a call identifier to the setup or control operation and communicating a call identifier to prospective participants, so that the participants may initiate a connection to the conference call.
 17. The method as claimed in claim 13, wherein the step of determining the type of operation requested comprises extracting information from the SMS message.
 18. The method as claimed in claim 13, wherein the step of determining the type of operation requested further comprises extracting information from a subscriber profile (27 a) associated with a subscriber who sent the SMS message.
 19. The method as claimed in claim 13, wherein the step of forwarding a service request comprises steps of: adding a service request to a queue (27 d); and accessing the service request in the queue to effect the conference call connection setup or control conference call connections.
 20. A computer-readable medium for storing computer-executable instructions for performing the methods claimed in any one of claims 13-19. 